package lider;

import java.util.ArrayList;

import com.lanchita.AerolineaLanchita;

public class TraductorLanchita implements Traductor {
	private static AerolineaLanchita aerolineaLanchita = AerolineaLanchita
			.getInstance();
	private double porcentaje;

	// TODO checkear que todo este bien

	public TraductorLanchita(){
		porcentaje=0.15;
	}
	
	public ArrayList<ArrayList<String>> BuscarAsientosQueTengan(
			String origen, String fechaSalida, String horaSalida,
			String destino, String fechaLlegada, String horaLlegada) {

		String[][] asientos;
		ArrayList<String> asiento = new ArrayList<String>();
		ArrayList<ArrayList<String>> asientosADevolver = new ArrayList<ArrayList<String>>();

		asientos = aerolineaLanchita.asientosDisponibles(origen, fechaSalida,
				horaSalida, destino, fechaLlegada, horaLlegada);

		// Con este primer for queremos meter en asientosADevolver cada asiento
		for (int j = 0; j < asientos.length; j++) {

			asiento = new ArrayList<String>();

			// Con este segundo for decimos que un asiento está compuesto por
			// cada uno de los campos de la fila de la matriz.
			for (int k = 0; k < asientos[j].length; k++)
				asiento.add(asientos[j][k]);

			// Ahora que ya sabemos qué campos tiene el asiento, lo metemos en
			// la lista de asientos que vamos a devolver.
			asientosADevolver.add(asiento);

		}

		return asientosADevolver;
	}

	public void comprarAsiento(ArrayList<String> asiento) {
		aerolineaLanchita.comprar(asiento.get(0));		
	}

	@Override
	public double impuestos(ArrayList<String> asiento) {
		double impuestos = Double.parseDouble(asiento.get(1));
		impuestos = impuestos*this.porcentaje;
		return impuestos;
	}
}
